Photography is a complex art in which the final products—photographs—are produced (typically on paper) from photo-optical information about subject scenes, as sensed by photographic film with the aid of a camera. It has long been recognized, e.g. by L. A. Jones in the 1930s, that a rendered reproduction whose brightness or reflectance ratios objectively matches the scene luminance ratios is not a very “good” photograph. Rather, it is desirable to “render” measured scene luminance to an artistically and psycho-visually preferred reproduction. In the field of black-and-white photography, this approach was developed to a high degree by Ansel Adams with his “zone system” of photography. A combination of techniques involving the camera, the scene lighting, the film, the film developing, and the film printing give the photographer a great deal of control over how a scene is rendered to produce an aesthetically pleasing photographic reproduction. The same techniques, and more, are applied in color photography.
Even standard “one-hour” or “drugstore” photo processing labs, and the design of standard films and papers, incorporate years of experience of making rendering decisions in an attempt to give the user an acceptable reproduction for most typical situations. Modern digital cameras and scanners similarly incorporate automatic rendering intelligence in an attempt to deliver acceptable image files—at least in the case of typical scenes. These approaches take the rendering decisions out of the hands of the photographer and, therefore, are not universally acceptable to serious professional and amateur photographers. Furthermore, the image files thus produced lead to degraded images if the tone curve is subsequently modified, as one might do with an image editing program such as Adobe Photoshop. This degradation is due to re-quantization noise. The degradation is very bad if the file is stored using lossy image compression such as JPEG, but is still significant even for files stored as uncompressed RGB data such as 8-bit TIFF, especially if the initial rendering has caused clipping of highlights, shadows, or colors.
Networked storage, retrieval, processing, and printing services related to image data are known in the art. Conventionally, images uploaded to such centralized services are generally regarded as “rendered images”, such as are typically generated locally by image acquisition devices such as digital cameras or by film scanners; that is, the uploaded digital image data are representations of an intended reproduction, such as a print or a screen display. Adjustments to the rendered images may be supported within the service, but rendering decisions that have already been committed in the image acquisition device limit the range of adjustments possible, and limit the quality of reproductions that differ from the original rendering (since information of the original scene has been eliminated).
Digital cameras that save raw (unrendered) scene data are also known in the art. By saving raw scene data, instead of processed rendered images, flexibility is retained to generate high-quality rendered images later, after interactive specification of rendering parameters such as tone curves, sharpening, and color adjustments. Conventionally, software to perform such interactive specification of rendering parameters, and rendering from the raw scene data according to the specified rendering parameters, is typically provided in a unique form by each camera manufacturer that offers a “raw data file” option.
For example, professional digital cameras such as the Foveon II camera manufactured and sold by Foveon, Inc. of Santa Clara, Calif., have the capability to create raw data files and to save the raw data files locally (e.g., on an attached computer). A corresponding processing program, such as FoveonLab for the Foveon II camera, allows the user to control the rendering interactively. The raw data files created by the camera of each manufacturer are typically in a format proprietary to that manufacturer. As a result, there is a dearth of third-party software available for generating rendered images from the raw data files. In addition, the programs of the various manufacturers typically operate differently enough from each other that a proficient user of one such program must endure a rather steep learning curve before becoming a proficient user of another such program. Furthermore, whereas some such programs may have features that are particularly useful or function well for a particular purpose, a user cannot easily utilize these features with other programs.
With respect to access to raw data, the computer processing the raw data requires access to the raw data. As a result, the user must either manage the raw file storage locally, or the data should be accessible from a storage server at a reasonable data rate to support the interaction. Such raw data files are not widely readable or interoperable. As a result, the raw data files are not generally compatible with software applications nor are they generally suitable for sharing via a network.
In addition, after the user renders the image to an output file, of the desired artistic style and quality level, the rendered image is typically sent again over the network to a print server, at a remote site, to obtain a high-quality print. The user may also manage the mapping, or re-rendering, of data representing his desired reproduction into a specialized colorspace for the target printer, and therefore may need to manage several different output files to target different printers. The proliferation of raw and rendered files for the user to create, store, view, manage, and send to others creates an undesired complexity.
What is desired is a user-friendly system to flexibly and efficiently manage quality image rendering from raw image data.